#pragma once
#include "CBaseObject.h"

class CRetroInput;
class CDirect3D;
class CCamera;
class CProjectile : public CBaseObject
{
protected:
	POINT m_vfPrevPosition;
	POINT m_vfDirection;
public:
	CProjectile(void);
	~CProjectile(void);

	void Initialize();
	void Initialize(int posX, int posY, float depth, int dirX, int dirY, int collisionRadius);
	void Input(CRetroInput* pInput);
	void Update(float fDeltaTime);
	void Render(CDirect3D* pRender, CCamera* pCamera);
	void Destroy();
	bool CheckCollision(IBaseObject* pObject);
	inline ObjectType Type() { return OBJECT_PROJECTILE;}

	inline const RECT& GetCollisionBox() { return m_vfCollisionBox;}

	void SetPosition(LONG posX, LONG posY);
	void SetPosition(POINT pos);
	inline const POINT& GetPosition() { return m_vfPosition;}
};

